package com.ruoyi.jimu.service;

import java.util.List;

import com.ruoyi.jimu.domain.JmReportType;


/**
 * 报表类型管理Service接口
 *
 * @author linyang
 * @date 2025-08-15
 */
public interface IJmReportTypeService {

    /**
     * 查询报表类型管理
     *
     * @param id 报表类型管理主键
     * @return 报表类型管理
     */
    public JmReportType selectJmReportTypeById(Long id);

    /**
     * 查询报表类型管理列表
     *
     * @param jmReportType 报表类型管理
     * @return 报表类型管理集合
     */
    public List<JmReportType> selectJmReportTypeList(JmReportType jmReportType);

    /**
     * 新增报表类型管理
     *
     * @param jmReportType 报表类型管理
     * @return 结果
     */
    public int insertJmReportType(JmReportType jmReportType);

    /**
     * 修改报表类型管理
     *
     * @param jmReportType 报表类型管理
     * @return 结果
     */
    public int updateJmReportType(JmReportType jmReportType);

    /**
     * 批量删除报表类型管理
     *
     * @param ids 需要删除的报表类型管理主键集合
     * @return 结果
     */
    public int deleteJmReportTypeByIds(Long[] ids);

    /**
     * 删除报表类型管理信息
     *
     * @param id 报表类型管理主键
     * @return 结果
     */
    public int deleteJmReportTypeById(Long id);


    /**
     * 查询当前节点下子节点的数量
     *
     * @param id
     * @return
     */
    public Long selectChildrenCount(Long id);


    /**
     * 查询当前节点下包含的报表数量
     *
     * @param id
     * @return
     */
    public Long selectContainReportCount(Long id);
}
